package com.qfedu.department.po;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * 请假
 * @author jiaod
 *
 */
@Entity
@Table (name = "dpt_leave")
public class QfLeave {
	
	/**
	 * ID
	 */
	@Id
	@Column(length = 50)
	private String id;

	/**
	 * 请假原因
	 */
	private String applyReason;
	
	/**
	 * 申请人
	 */
	@ManyToOne
	@JoinColumn(name = "apply_id")
	private Staff apply;
	
	/**
	 * 请假时长
	 */
	private Long applyHours;

	/**
	 * 请假类型
	 */
	@Column (length = 5)
	private String applyType;
	
	/**
	 * 部门经理
	 */
	@ManyToOne
	@JoinColumn(name = "manager_id")
	private Staff manager;
	
	/**
	 * 部门审批结果
	 */
	private Boolean managerResult = false;
	
	/**
	 * 部门审批说明
	 */
	private String managerRemark;
	
	/**
	 * 人事
	 */
	@ManyToOne
	@JoinColumn(name = "hr_id")
	private Staff hr;
	
	/**
	 * 人事审批结果
	 */
	private Boolean hrResult = false;
	
	/**
	 * 人事审批说明
	 */
	private String hrRemark;
	
	/**
	 * CEO
	 */
	@ManyToOne
	@JoinColumn(name = "ceo_id")
	private Staff ceo;
	
	/**
	 * CEO审批结果
	 */
	private Boolean ceoResult = false;
	
	/**
	 * CEO审批说明
	 */
	private String ceoRemark;

	/**
	 * 状态
	 */
	@Column(length = 5)
	private String status;
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Staff getApply() {
		return apply;
	}

	public void setApply(Staff apply) {
		this.apply = apply;
	}

	public Long getApplyHours() {
		return applyHours;
	}

	public void setApplyHours(Long applyHours) {
		this.applyHours = applyHours;
	}

	public String getApplyType() {
		return applyType;
	}

	public void setApplyType(String applyType) {
		this.applyType = applyType;
	}

	public String getApplyReason() {
		return applyReason;
	}

	public void setApplyReason(String applyReason) {
		this.applyReason = applyReason;
	}

	public Staff getManager() {
		return manager;
	}

	public void setManager(Staff manager) {
		this.manager = manager;
	}

	public Boolean getManagerResult() {
		return managerResult;
	}

	public void setManagerResult(Boolean managerResult) {
		this.managerResult = managerResult;
	}

	public String getManagerRemark() {
		return managerRemark;
	}

	public void setManagerRemark(String managerRemark) {
		this.managerRemark = managerRemark;
	}

	public Staff getHr() {
		return hr;
	}

	public void setHr(Staff hr) {
		this.hr = hr;
	}

	public Boolean getHrResult() {
		return hrResult;
	}

	public void setHrResult(Boolean hrResult) {
		this.hrResult = hrResult;
	}

	public String getHrRemark() {
		return hrRemark;
	}

	public void setHrRemark(String hrRemark) {
		this.hrRemark = hrRemark;
	}

	public Staff getCeo() {
		return ceo;
	}

	public void setCeo(Staff ceo) {
		this.ceo = ceo;
	}

	public Boolean getCeoResult() {
		return ceoResult;
	}

	public void setCeoResult(Boolean ceoResult) {
		this.ceoResult = ceoResult;
	}

	public String getCeoRemark() {
		return ceoRemark;
	}

	public void setCeoRemark(String ceoRemark) {
		this.ceoRemark = ceoRemark;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
}
